﻿namespace PLCS.Domain.Tasks;

public interface ITaskRepository : IRepository<TaskModel, Guid>
{
    Task ChangeStatusAsync(Guid Id, Shared.Tasks.TaskStatus taskStatus);

    Task<TaskModel?> GetByTaskIdAsync(int taskId);

    Task<IEnumerable<TaskModel>> GetListWithDetailsAsync();

    Task<TaskModel> GetLastTaskAsync();

    Task<IEnumerable<TaskModel>> GetUnfinshedTaskAsync();

    Task<IEnumerable<TaskModel>> GetUnfinshedAboutRunningTaskAsync();

    Task HardDeleteAsync(Guid Id);
}